var proglangs =
[
	{
		"name" : "ActionScript",
		"link" : "http://en.wikipedia.org/wiki/ActionScript",
		"year" : 1998,
		"desc" : "ActionScript is an object-oriented language originally developed by Macromedia Inc. (now owned by Adobe Systems). It is a dialect of ECMAScript (meaning it is a superset of the syntax and semantics of the language more widely known as JavaScript), and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of embedded SWF files."
	},
	{
		"name" : "AppleScript",
		"link" : "http://en.wikipedia.org/wiki/AppleScript",
		"year" : 1993,
		"desc" : "AppleScript is a scripting language created by Apple Inc. and built into Macintosh operating systems since System 7. The term \"AppleScript\" may refer to the scripting system itself, or to particular scripts that are written in the AppleScript language."
	},
	{
		"name" : "ASP",
		"link" : "http://en.wikipedia.org/wiki/Active_Server_Pages",
		"year" : 1996,
		"desc" : "Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages. Initially released as an add-on to Internet Information Services (IIS) via the Windows NT 4.0 Option Pack (ca. 1996), it was subsequently included as a free component of Windows Server (since the initial release of Windows 2000 Server). ASP.NET, first released in January 2002, has superseded ASP."
	},
	{
		"name" : "BASIC",
		"link" : "http://en.wikipedia.org/wiki/BASIC",
		"year" : 1964,
		"desc" : "BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College in New Hampshire. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to do."
	},
	{
		"name" : "C",
		"link" : "http://en.wikipedia.org/wiki/C_(programming_language)",
		"year" : 1972,
		"desc" : "In computing, C (/ˈsiː/, as in the letter C) is a general-purpose programming language initially developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs. Like most imperative languages in the ALGOL tradition, C has facilities for structured programming and allows lexical variable scope and recursion, while a static type system prevents many unintended operations. Its design provides constructs that map efficiently to typical machine instructions, and therefore it has found lasting use in applications that had formerly been coded in assembly language, most notably system software like the Unix computer operating system."
	},
	{
		"name" : "C++",
		"link" : "http://en.wikipedia.org/wiki/C%2B%2B",
		"year" : 1983,
		"desc" : "C++ (pronounced \"see plus plus\") is a programming language that is general purpose, statically typed, free-form, multi-paradigm and compiled. It is regarded as an intermediate-level language, as it comprises both high-level and low-level language features. Developed by Bjarne Stroustrup starting in 1979 at Bell Labs, C++ was originally named C with Classes, adding object oriented features, such as classes, and other enhancements to the C programming language. The language was renamed C++ in 1983, as a pun involving the increment operator."
	},
	{
		"name" : "Clojure",
		"link" : "http://en.wikipedia.org/wiki/Clojure",
		"year" : 2007,
		"desc" : "Clojure (pronounced like \"closure\") is a dialect of the Lisp programming language created by Rich Hickey. It is a functional general-purpose language. Its focus on programming with immutable values and explicit progression-of-time constructs are intended to facilitate the development of more robust programs, particularly multithreaded ones. Clojure runs on the Java Virtual Machine, Common Language Runtime, and JavaScript engines. Like other Lisps, Clojure treats code as data and has a sophisticated macro system."
	},
	{	
		"name" : "COBOL",
		"link" : "http://en.wikipedia.org/wiki/COBOL",
		"year" : 1959,
		"desc" : "COBOL /ˈkoʊbɒl/ is one of the oldest programming languages, primarily designed by Grace Hopper. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments. The COBOL 2002 standard includes support for object-oriented programming and other modern language features."
	},
	{
		"name" : "ColdFusion",
		"link" : "http://en.wikipedia.org/wiki/ColdFusion",
		"year" : 1995,
		"desc" : "ColdFusion is a commercial rapid web application development platform invented by Jeremy and JJ Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CFML.) ColdFusion was originally designed to make it easier to connect simple HTML pages to a database. By Version 2 (1996), it had become a full platform that included an IDE in addition to a \"full\" scripting language. As of 2010, versions of ColdFusion (purchased by Adobe Systems in 2005) include advanced features for enterprise integration and development of rich Internet applications."
	},
	{
		"name" : "Erlang",
		"link" : "http://en.wikipedia.org/wiki/Erlang_(programming_language)",
		"year" : 1986,
		"desc" : "Erlang (/ˈɜrlæŋ/ ER-lang) is a general-purpose concurrent, garbage-collected programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. It supports hot swapping, so that code can be changed without stopping a system."
	},
	{
		"name" : "Fortran",
		"link" : "http://en.wikipedia.org/wiki/Fortran",
		"year" : 1957,
		"desc" : "Fortran (previously FORTRAN) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing. Originally developed by IBM at their campus in south San Jose, California[1] in the 1950s for scientific and engineering applications, Fortran came to dominate this area of programming early on and has been in continual use for over half a century in computationally intensive areas such as numerical weather prediction, finite element analysis, computational fluid dynamics, computational physics and computational chemistry."
	},
	{
		"name" : "Groovy",
		"link" : "http://en.wikipedia.org/wiki/Groovy_(programming_language)",
		"year" : 2003,
		"desc" : "Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java Virtual Machine (JVM) bytecode, and interoperates with other Java code and libraries. Groovy uses a Java-like curly-bracket syntax. Most Java code is also syntactically valid Groovy."
	},
	{
		"name" : "Haskell",
		"link" : "http://en.wikipedia.org/wiki/Haskell_(programming_language)",
		"year" : 1990,
		"desc" : "Haskell /ˈhæskəl/ is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, \"a function is a first-class citizen\" of the programming language. As a functional programming language, the primary control construct is the function."
	},
	{
		"name" : "Java",
		"link" : "http://en.wikipedia.org/wiki/Java_(programming_language)",
		"year" : 1995,
		"desc" : "Java is a general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers \"write once, run anywhere\" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture."
	},
	{
		"name" : "JavaScript",
		"link" : "http://en.wikipedia.org/wiki/JavaScript",
		"year" : 1995,
		"desc" : "JavaScript (JS) is an interpreted computer programming language.[5] As part of web browsers, implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed.[5] It has also become common in server-side programming, game development and the creation of desktop applications."
	},
	{
		"name" : "Lisp",
		"link" : "http://en.wikipedia.org/wiki/Lisp_(programming_language)",
		"year" : 1958,
		"desc" : "Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized Polish prefix notation.[1] Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older (by one year). Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history. Today, the most widely known general-purpose Lisp dialects are Common Lisp and Scheme."
	},
	{
		"name" : "Perl",
		"link" : "http://en.wikipedia.org/wiki/Perl",
		"year" : 1987,
		"desc" : "Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Perl 6.. Though Perl is not officially an acronym,[5] there are various backronyms in use, such as: Practical Extraction and Reporting Language.[6] Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier."
	},
	{
		"name" : "PHP",
		"link" : "http://en.wikipedia.org/wiki/PHP",
		"year" : 1995,
		"desc" : "PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP is now installed on more than 244 million websites and 2.1 million web servers.[2] Originally created by Rasmus Lerdorf in 1995, the reference implementation of PHP is now produced by The PHP Group.[3] While PHP originally stood for Personal Home Page,[4] it now stands for PHP: Hypertext Preprocessor, a recursive acronym."
	},
	{
		"name" : "Python",
		"link" : "http://en.wikipedia.org/wiki/Python_(programming_language)",
		"year" : 1991,
		"desc" : "Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C. The language provides constructs intended to enable clear programs on both a small and large scale."
	},
	{
		"name" : "Ruby",
		"link" : "http://en.wikipedia.org/wiki/Ruby_(programming_language)",
		"year" : 1995,
		"desc" : "Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro \"Matz\" Matsumoto in Japan. Ruby embodies syntax inspired by Perl with Smalltalk-like features and was also influenced by Eiffel and Lisp.[9] It supports multiple programming paradigms, including functional, object oriented, and imperative. It also has a dynamic type system and automatic memory management. Therefore, it is similar in varying degrees to, Smalltalk, Python, Perl, Lisp, Dylan, and CLU."
	},
	{
		"name" : "Scala",
		"link" : "http://en.wikipedia.org/wiki/Scala_(programming_language)",
		"year" : 2003,
		"desc" : "Scala (/ˈskɑːlə/ SKAH-lə) is an object-functional programming and scripting language for general software applications, statically typed, designed to concisely express solutions in an elegant,[6] type-safe and lightweight (low ceremonial) manner. Scala has full support for functional programming (including currying, pattern matching, algebraic data types, lazy evaluation, tail recursion, immutability, etc.)."
	},
	{
		"name" : "Scheme",
		"link" : "http://en.wikipedia.org/wiki/Scheme_(programming_language)",
		"year" : 1975,
		"desc" : "Scheme is a functional programming language and one of the two main dialects of the programming language Lisp. Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Scheme was developed at the MIT AI Lab by Guy L. Steele and Gerald Jay Sussman who introduced it to the academic world via a series of memos, now referred to as the Lambda Papers, over the period 1975–1980."
	}
];

var active;

$(function()
{
	var catList;
	var letter = 0;

	for (var lang in proglangs)
	{
		lang = proglangs[lang];

		if (letter < lang.name.charCodeAt(0))
		{	
			// Jaja, ikke verdens mest ryddige bit med javascript, men det gjør nytten.
			if (!letter)
				active = lang.name[0];

			$("#menu").append("<li class=\"menuItem" + (!letter ? " selected"  : "") + "\" id=\"menuItem" + lang.name[0] + "\" onclick=\"changeActive('" + lang.name[0] + "');\">" + lang.name[0] + "</li>");

			$("#langList").append("<div class=\"langcont" + (letter ? " hidden" : "") + "\" id=\"letter" + lang.name[0] + "\" />");
			letter = lang.name.charCodeAt(0);
		}


		$("#letter" + lang.name[0]).append("<dt>" + lang.name + " (" + lang.year + ")</<dt><dd>" + lang.desc + "</dd>");
	}
});

function changeActive(letter)
{
	$("#menuItem" + active).removeClass("selected");
	$("#letter" + active).addClass("hidden");
	$("#menuItem" + letter).addClass("selected");
	$("#letter" + letter).removeClass("hidden");
	active = letter;
}
